package cn.core.sign.service.intf;

import cn.core.sign.eo.AuthList;
import cn.core.sign.qo.AuthListQO;
import cn.core.sign.vo.AuthListVO;
import cn.core.tool.util.Paging;
import cn.core.tool.util.Param;

import java.util.Collection;

/**
 * 授权列表 服务接口
 */
public interface IAuthListService {

  /**
   * 授权列表 >>> 保存
   */
  public AuthList save(AuthList eo) throws Exception;

  /**
   * 授权列表 >>> 批量保存
   */
  public Collection<AuthList> saveBatch(Collection<AuthList> eos) throws Exception;

  /**
   * 授权列表 >>> 修改
   */
  public AuthList update(AuthList eo) throws Exception;

  /**
   * 授权列表 >>> 批量修改
   */
  public Collection<AuthList> updateBatch(Collection<AuthList> eos) throws Exception;

  /**
   * 授权列表 >>> 删除
   */
  public void remove(AuthList eo) throws Exception;

  /**
   * 授权列表 >>> 批量删除
   */
  public void removeBatch(Collection<AuthList> eos) throws Exception;

  /**
   * 授权列表 >>> 数据量
   */
  public Long count(AuthListQO qo) throws Exception;

  /**
   * 授权列表 >>> 主键查询
   */
  public AuthList pk(AuthListQO qo) throws Exception;

  /**
   * 授权列表 >>> 查询
   */
  public Collection<AuthList> query(AuthListQO qo) throws Exception;

  /**
   * 授权列表 >>> 分页
   */
  public Paging<AuthList> paging(Param<AuthListQO> param) throws Exception;

  /**
   * 授权列表 >>> 业务数据量
   */
  public Long countVo(AuthListQO qo) throws Exception;

  /**
   * 授权列表 >>> 业务主键查询
   */
  public AuthListVO pkVo(AuthListQO qo) throws Exception;

  /**
   * 授权列表 >>> 业务查询
   */
  public Collection<AuthListVO> queryVo(AuthListQO qo) throws Exception;

  /**
   * 授权列表 >>> 业务分页
   */
  public Paging<AuthListVO> pagingVo(Param<AuthListQO> param) throws Exception;

}
